﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Chat
{
    /// <summary>
    /// An abstraction for chat commands serialization.
    /// </summary>
    /// <typeparam name="OutCmd">Base class for serializable (outcomming) commands.</typeparam>
    public abstract class CmdSerializer<OutCmd>
        where OutCmd : Command
    {
        public abstract void Serialize(Stream serializationStream, OutCmd command);
        public abstract object Deserialize(Stream serializationStream);
    }
}
